Ubuntu Redis
Redis 简介
Redis 是一个高性能的键值对非关系型数据库, 支持存储的值类型包括: string, list, set, zset(有序集合), 这些数据类型都支持 push/pop, add/remove, 取交集, 取并集, 取差集等原子性操作.
为了保证效率, Redis 中的数据都是缓存在内存中的, 它会周期性地把更新的数据写入磁盘, 或者把修改操作写入追加的记录文件.
实现了主从(master-slave)同步.
安装
下载编译
wget http://download.redis.io/releases/redis-4.0.9.tar.gz tar xzf redis-4.0.9.tar.gz cd redis-4.0.9 make
启动 Redis 服务
编译好的二进制文件在 src 目录下, 通过如下命令启动 Redis 服务:
src/redis-server
启动 Redis 服务时, 默认监听 6379 端口. 通过 --port 参数可以自定义端口号:
redis-server --port 6380
启动 Redis 客户端
src/redis-cli // 等价于 src/redis-cli -h 127.0.0.1 -p 6379 // 设置键值对: foo-bar set foo bar get foo // "bar"
如果强行停止 Redis, 可能会导致内存中的数据来不及同步到磁盘就被关闭. 因此, 正确停止 Redis 的方式为:
redis-cli SHUTDOWN
常用操作
Redis 以 <key, value> 的形式存储数据.
如果要往某个表中写入数据, key=表名:主键的值:列名, value=列值.
如, Users 表中, id 为主键, name 为其中一个列名. 则 key=Users:1:name, key=Users:2:name, 等等.
插入数据
只要我们提前设计好 key 和 value 即可.
set Users:1:name Pinvon
修改数据
Redis 中没有修改数据的命令, 如果想修改数据, 只能使用 set 命令, 对相同的 key 赋予和之前不同的 value. 如, 将之前的用户名 Pinvon 改成 Penglaozi.
set Users:1:name Penglaozi
查询数据
查询数据, 使用 get 命令, 再把 key 输入即可.
get Users:1:name // Penglaozi
删除数据
使用 del 命令删除数据.
del Users:1:name
此时, 再使用 get 查询该 key, 会发现输出为空.
选择数据库
Redis 默认支持 16 个数据库, 可以通过修改配置来改变这个数字. cli 与 server 连接后自动选择 0 号数据库, 要切换数据库, 可以这么写:
SELECT 1 // OK
这样就选择了 1 号数据库.
但这些不同的数据库并不是完全隔离的, 有些命令会对所有的数据库同时生效. 所以一般情况下, 一个应用程序就应该对应一个 Redis, Redis 非常轻量, 只占用 1MB 左右的空间, 所以不必担心多个 Redis 实例会占用很多内存.
要想在一台机器上启动多个 Redis, 需要修改配置, 如, 让它们监听不同的端口, 还有一些其他的配置, 可以查看 Redis分片.
Generated by Emacs 25.x(Org mode 8.x)
Copyright © 2014 - Pinvon - Powered by EGO